package cn.stylefeng.guns.modular.basic.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * 库位表
 */
@TableName("basic_position")
@Data
public class BasicPosition implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 库位状态（1启用、2禁用）
     */
    @TableField("position_state")
    private String positionState;

    /**
     * X坐标
     */
    @TableField("x_axis")
    private String xAxis;

    /**
     * Y坐标
     */
    @TableField("y_axis")
    private String yAxis;

    /**
     * 仓库id
     */
    @TableField("warehouse_id")
    private Integer warehouseId;

    /**
     * 仓库编号
     */
    @TableField("warehouse_number")
    private String warehouseNumber;

    /**
     * 仓库名称
     */
    @TableField("warehouse_name")
    private String warehouseName;

    /**
     * 库区id
     */
    @TableField("position_area_id")
    private Integer positionAreaId;

    /**
     * 库区名称
     */
    @TableField("position_area_name")
    private String positionAreaName;

    /**
     * 库区编号
     */
    @TableField("area_number")
    private String areaNumber;

    /**
     * 库位名称
     */
    @TableField("position_name")
    private String positionName;

    /**
     * 库位编号
     */
    @TableField("position_number")
    private String positionNumber;

    /**
     * 库位类型
     */
    @TableField("position_type")
    private String positionType;

    /**
     * 库区功能
     */
    @TableField("position_function")
    private String positionFunction;

    /**
     * 保管条件
     */
    @TableField("position_condition")
    private String positionCondition;

    /**
     * 库区类型
     */
    @TableField("position_area_type")
    private String positionAreaType;

    /**
     * 托存量
     */
    @TableField("tray_size")
    private String traySize;

    /**
     * 楼层
     */
    @TableField("position_floor")
    private String positionFloor;

    /**
     * 行号
     */
    @TableField("position_line")
    private String positionLine;

    /**
     * 列号
     */
    @TableField("position_column")
    private String positionColumn;

    /**
     * 层号
     */
    @TableField("position_layer")
    private String positionLayer;

    /**
     * 长度
     */
    @TableField("position_length")
    private String positionLength;

    /**
     * 宽度
     */
    @TableField("position_width")
    private String positionWidth;

    /**
     * 高度
     */
    @TableField("position_height")
    private String positionHeight;

    /**
     * 重量
     */
    @TableField("position_weight")
    private String positionWeight;

    /**
     * 库位条码
     */
    @TableField("position_barcode")
    private String positionBarcode;

    /**
     * 品牌
     */
    @TableField("position_product")
    private String positionProduct;

    /**
     * 面积
     */
    @TableField("position_measure")
    private String positionMeasure;

    /**
     * 品类
     */
    @TableField("position_producttype")
    private String positionProducttype;

    /**
     * 入库顺序
     */
    @TableField("position_putorder")
    private String positionPutorder;

    /**
     * 拣货顺序
     */
    @TableField("position_pickingorder")
    private String positionPickingorder;

    /**
     * 可用容量
     */
    @TableField("position_available")
    private String positionAvailable;

    /**
     * 已用容量
     */
    @TableField("position_already")
    private String positionAlready;

    /**
     * 备注
     */
    @TableField("position_notes")
    private String positionNotes;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;

    /**
     * 交付客户id
     */
    @TableField("deliver_id")
    private Long deliverId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 创建用户
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 修改用户
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;

    /**
     * 新零帮库位id
     */
    @TableField("position_xlb_id")
    private String positionXlbId;

    @Override
    public String toString() {
        return "BasicPosition{" +
        "id=" + id +
        "xAxis=" + xAxis +
        "yAxis=" + yAxis +
        ", warehouseId=" + warehouseId +
        ", warehouseNumber=" + warehouseNumber +
        ", warehouseName=" + warehouseName +
        ", positionAreaId=" + positionAreaId +
        ", positionAreaName=" + positionAreaName +
        ", areaNumber=" + areaNumber +
        ", positionName=" + positionName +
        ", positionNumber=" + positionNumber +
        ", positionType=" + positionType +
        ", positionFunction=" + positionFunction +
        ", positionCondition=" + positionCondition +
        ", positionAreaType=" + positionAreaType +
        ", traySize=" + traySize +
        ", positionFloor=" + positionFloor +
        ", positionLine=" + positionLine +
        ", positionColumn=" + positionColumn +
        ", positionLayer=" + positionLayer +
        ", positionLength=" + positionLength +
        ", positionWidth=" + positionWidth +
        ", positionHeight=" + positionHeight +
        ", positionWeight=" + positionWeight +
        ", positionBarcode=" + positionBarcode +
        ", positionProduct=" + positionProduct +
        ", positionMeasure=" + positionMeasure +
        ", positionProducttype=" + positionProducttype +
        ", positionPutorder=" + positionPutorder +
        ", positionPickingorder=" + positionPickingorder +
        ", positionAvailable=" + positionAvailable +
        ", positionAlready=" + positionAlready +
        ", positionState=" + positionState +
        ", positionNotes=" + positionNotes +
        ", version=" + version +
        ", deliverId=" + deliverId +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", createUser=" + createUser +
        ", updateUser=" + updateUser +
        ", positionXlbId=" + positionXlbId +
        "}";
    }
}
